Why Useeffect Causes Infinite Loops - Fix It With Usecallback